from django.db import models
from django.contrib.auth.models import User

class Address(models.Model):
    street = models.CharField(max_length=200)
    street2 = models.CharField(max_length=200)
    city = models.CharField(max_length=200)
    state = models.CharField(max_length=200)
    zipcode = models.CharField(max_length=200)
    
    class Admin:
        pass

class Activity(models.Model):
    name = models.CharField(max_length=200)
    
    class Admin:
        pass
        
class Music(models.Model):
    name = models.CharField(max_length=200)
    
    class Admin:
        pass
        
class Subject(models.Model):
    name = models.CharField(max_length=200)
    
    class Admin:
        pass

GENDER_CHOICES = (
    (0, "Male"),
    (1, "Female"),
    (2, "Other"),
    )

class UserProfile(models.Model):
    user = models.ForeignKey(User)

    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    gender = models.SmallIntegerField(choices=GENDER_CHOICES)
    phone_number = models.CharField(max_length=200)
    address = models.ForeignKey(Address)
    student = models.BooleanField()
    activities = models.ManyToManyField(Activity)
    musical_preference = models.ManyToManyField(Music)
    subjects = models.ManyToManyField(Subject)
    description = models.TextField()

    added = models.DateTimeField()
    updated = models.DateTimeField()
    
    class Admin:
        pass

MOTIVATION_CHOICES = (
    (1, "Definitely Going"),
    (2, ""),
    (3, ""),
    (4, ""),
    (5, "I'm not sure if I'm going or not"),
    )

FAMILY_ATTENDANCE_CHOICES = (
    (0, "0"),
    (1, "1"),
    (2, "2"),
    (3, "3+"),
    )

class StudentProfile(models.Model):
    user = models.ForeignKey(User)
    
    motivation = models.SmallIntegerField(choices=MOTIVATION_CHOICES)
    family_attendance = models.SmallIntegerField(choices=FAMILY_ATTENDANCE_CHOICES)

    added = models.DateTimeField()
    updated = models.DateTimeField()
    
    class Admin:
        pass

class MentorProfile(models.Model):
    user = models.ForeignKey(User)
    
    motivation = models.SmallIntegerField(choices=MOTIVATION_CHOICES)
    high_school = models.CharField(max_length=200)
    students = models.SmallIntegerField(choices=((1, "1"),(2, "2"),(3, "3",),))

    added = models.DateTimeField()
    updated = models.DateTimeField()

    class Admin:
        pass
        


class Review(models.Model):
    grade = models.IntegerField()
    description = models.TextField()
    subject = models.CharField(max_length=200)
    user = models.ForeignKey(User)

    added = models.DateTimeField()
    
    class Admin:
        pass
